The invention pertains to the field of authenticating and authorizing users accessing a computer system or network of computer systems. In particular, the invention pertains to authenticating and authorizing users by an authentication server referenced by the computer system or network of computer systems with encrypted communications over an insecure channel.
The Internet offers tremendous convenience to those who wish to connect computers at widely distributed locations. Full-time and dialup Internet connections are available from service providers in almost all cities of the world for reasonable prices. It is known that a computer or network of computers that is connected to the Internet in a first city can readily communicate with a computer or network of computers in a second city. The cost of maintaining a connection between computers a computer or network of computers in one city, through the Internet to a computer or network of computers in a second city is often cheaper than connecting these computers or networks of computers with leased data lines; and is often less expensive than connecting through modems over dialup telephone lines.
Unencrypted communications over the Internet are not regarded as secure. Internet packets may be routed through facilities including servers, routers, and lines belonging to many different entities. Some entities operating Internet facilities do not have strong security policies. Other entities may be hostile to a given company. Packets transmitted over the Internet are usually routed according to the availability of facilities at the time they are transmitted, making it difficult to ensure that they travel only on secure facilities. It is known that data may be transmitted onto the Internet with fake identification, so connection of a computer to the Internet makes xe2x80x9cspoofingxe2x80x9d possible if a user identification and password are known or intercepted. The Internet therefore is usually regarded as an insecure channel.
Other insecure communications channels also exist. Virtually any unencrypted or weakly encrypted radio transmissions, including transmissions by wireless modems, analog and digital cellular phones, and satellites, are subject to interception and thus are an insecure communications channel. Data superimposed on power distribution wiring within a home or business forms an insecure channel because these signals can often be intercepted outside the home or business. Even infrared communications are insecure if they are subject to interception through windows. Dialup and leased telecommunications lines may be subject to wiretapping without due process in some countries, and may therefore be an insecure channel. In some areas, fence wire, including barbed wire, has been used for telecommunications, this wire being readily accessible and forming an insecure channel. These insecure channels, however, offer mobility, ready and cheap access, and convenience, there is much temptation to incorporate them into computer networks.
If it is intended that data, including authentication and authorization data, be transmitted between machines securely, without possibility of interception or spoofing, any channel for which any portion is even possibly insecure should be treated as an insecure channel. An insecure channel may therefore have one or a combination of almost any data communications technologies, including Wireless, 10-BaseT, 100-BaseT., CI, Ethernet, Fiberchannel, Token-Ring, T-1, T-3, Microwave, Satellite, DSL, ISDN, Infrared, modems over analog or digital telephone lines whether leased or switched, and others.
Encryption has long been used to provide some security to communications over insecure channels. Encryption machines are known to have been widely used for military communications since the 1930""s. It is also known that cryptanalysis of machine-encrypted communications had interesting effects on the Second World War and the early development of computing equipment.
Many computer systems offer a hierarchy of access rights. For example, in the Unix operating system there is a xe2x80x9csuperuserxe2x80x9d or xe2x80x9crootxe2x80x9d account that has unlimited accessxe2x80x94including the rights to create accounts and to set account privileges; this is also true of related operating systems including the Solaris (a trademark or registered trademark of Sun Microsystems, Inc. in the U.S. and other countries) and the Linux operating system. In the Unix operating system there may also be user accounts that can access most system resources, and there may be public accounts restricted to only a few limited resources, like FTP or HTML accounts restricted to reading only files in particular directories.
Authentication is the verifying that a person or machine attempting access to a computer system or network is who what person or machine purports to be. Authorization is the looking up of access rights owned by authenticated persons or machines and application of those access rights to permit access by that person or machine to appropriate system resources. Areas or routines of a server or network that require access rights beyond those granted to all users, including account creation, modification, and deletion routines, may be referred to as privileged areas of the system.
While many computer systems maintain a database of user identification, access rights, and passwords on each system for authentication and authorization, this is inconvenient on networked computer systems, especially on large networks. Many local area computer networks based on the Unix operating system use a network-accessible authentication server to maintain a network-wide database of user identification, access rights, and passwords. The xe2x80x9cyellow-pagesxe2x80x9d common with the Unix operating system and Novell NetWare used with many personal computer networks utilize authentication servers to authenticate users and authorize access to resources on a network. These systems, however, often transmit some user identification and authorization information over the network in unencrypted form, thereby inviting attack if this information is transmitted over an insecure channel.
Passwords transmitted over an insecure channel are subject to interception. A prior-art method of authenticating users needing access to network, especially superusers, is use of a challenge-response device. With these devices, such as the Safeword product of Secure Computing Co., a challenge code is transmitted to the user by an authentication server when authentication is desired. The challenge code is processed by the challenge-response device to generate a response according to an algorithm and key known to both the challenge-response device and to the authentication server. Authentication fails if the response received by the system does not match an expected response generated by the authentication server using the same algorithm and key.
Typical challenge-response devices resemble a small calculator, having a keyboard for entry of the challenge, and a display for providing a response for entry to a computer or workstation by their possessor.
Dongles are common hardware devices that attach to computer systems, often being attached to a printer or other I/O port, including a PCMCIA port, of the system. Dongles usually operate by generating a desired response to the computer system when stimulated with a challenge provided from the computer system. They are most often used as a license enforcement device for software, and are typically small and portable such that they may be readily transported by a user or administrator.
There is need for many computer networks to be remotely administeredxe2x80x94especially those in smaller companies and branch offices, where it is uneconomical to hire scarce, expensive, trained network administrators full-time. It is known that administration of these networks may be performed by administrators at a main office or by a network administration contractor. Network and system administration typically requires superuser or system administrator privileges on the remotely administered network since user and public accounts must be created and manipulated.
Some existing remotely administered networks are administered by administrators that dial in over a telephone line to a modem attached to a server on that network. Authentication is often achieved through use of a user ID and password, followed by an automated callback by a dialback modem. This method is not convenient because each administrator must have his or her own dialback number, and a database of authorized administrators must be maintained on each remotely administered machine or network. Further, these systems limit dialback to preconfigured numbers, and therefore restrict the locations from which the administrator may call. Need for the dialback may be eliminated with the challenge-response device described above.
When a network is remotely administered, especially when administered by a network administration contractor, it would be convenient if the authentication and authorization database for the administrators were centralized at the network administrator""s location. This would permit removal, replacement, and addition of administrators to a single database instead of requiring updating separate databases on each remotely administered network""s authentication server.
It is known that allowing users, and especially superusers, unencrypted access to a computer system over an insecure channel like the Internet poses serious risks to the integrity and privacy of data on the computer system. This risk is intensified if authorization and authentication information is transmitted over the insecure channel. Such access offers tremendous convenience to users and administrators at remote locations. It is therefore desirable to provide access, authorization, and authentication through encrypted means.
Firewalls have become standard whenever a network is connected to a larger, insecure, network like the Internet. A firewall is a device, usually a computer with appropriate software, placed between two networks. A firewall then enforces a security policy between the two connected networks. While a firewall is usually a machine, it is often represented as the boundary between the two networks. Typical security policies center on allowing particular kinds of traffic, or on denying particular kinds of traffic between the networks. Firewalls are generally configured to restrict network traffic passing through them to traffic of predetermined types that are not expected to cause problems for the network. Firewalls are intended to be transparent to desired communications while blocking undesired, risky, or otherwise prohibited communications.
The HTTP (HyperText Transfer Protocol) is a common protocol for communicating between machines that typically runs over TCP-IP networks, and is commonly used with the World Wide Web. This protocol provides packaging of information that can contain instruction headers and other data about the content. The HTTPS (HyperText Transfer Protocol Secure) is a secure version of HTTP that uses certificates that identify the communicating machines and provide encryption keys. An HTTPS Server or Client processes communications according to the HTTPS protocol, while invoking encryption/decryption libraries to encrypt communications between the computers or other machines. The HTTPS protocol is used with RSA, DES, and other encryption algorithms.
An access control system for controlling access to computer systems and networks is provided. In this access control system, a remote authentication and authorization server for some users, including in the preferred embodiment some system and network administrator users, is accessed by the system or network of systems through encrypted communications over an insecure channel such as the Internet. Once authenticated, a user may be permitted to access the system through additional encrypted communications over the same or a different insecure channel.
Users may determined to be permitted to be authenticated by encrypted communications over the insecure channel according to data entered in a local authorization server of the computer system or network, or according to an indicator in a user name of the user.
Authentication by the remote authentication and authorization server is preferably performed through use of a challenge-response device.